package com.yvon.maple.service.msg.core.model.vo;

import com.yvon.maple.service.msg.core.common.enums.MessageType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import java.util.Map;
import java.util.Set;

/**
 * 发送接口的参数
 * @author 3y
 */
@Data
@Accessors(chain = true)
public class SendVo {

    /**
     * 接收者
     * 多个用,逗号号分隔开
     * 必传
     */
    @ApiModelProperty(value = "接收者")
    @NotEmpty(message = "消息相关的参数")
    private Set<String> receiver;

    /**
     * 消息内容中的可变部分
     * 可选
     */
    @ApiModelProperty(value = "消息内容中的可变参数")
    private Map<String, String> variables;

    /**
     * 扩展参数
     * 可选
     */
    @ApiModelProperty(value = "扩展参数")
    private Map<String,String> extra;


    /**
     * 类型标识
     */
    @ApiModelProperty(value = "类型")
    private MessageType messageType;


    /**
     * 渠道类型
     */
    @ApiModelProperty(value = "渠道类型")
    private String channelType;



}
